1. Technical Field
The present invention relates to a request arbitration apparatus and a request arbitration method.
2. Related Art
When a plurality of devices such as processors accesses a memory, requests for accessing the memory are output from the plurality of devices. Hence, generally, a technique is known which uses an arbitration circuit (an arbiter) for arbitrating the plurality of requests (for example, refer to FIG. 13 in JP-A-2004-288021). By using an arbiter, it is possible to efficiently access the memory, for example, in a way in which it is decided which request to service first on the basis of the priority of each of the requests even when the plurality of requests are output from a device at approximately the same time.
On the other hand, as a memory capable of efficiently performing access, a multi-bank memory formed of a plurality of banks is known. When the arbitration is performed on the requests for the multi-bank memory, as shown in FIG. 8, the following method can be considered: first, the requests are divided into the banks of an accessed memory 220 and are held in buffers 201 to 204 corresponding to the divided banks, and then an arbiter 210 determines the buffer to output the request held therein to the memory 220, thereby arbitrating the accesses to the memory. In this case, the order of a reading request and a recording request issued to the same address of the same bank may be changed. This causes false reading of data. Hence, it is necessary for the buffers 201 to 204 to hold the request in FIFO (First In First Out). In such a configuration, as shown in FIG. 8, the buffer 201 may hold a request q having a high priority subsequent to a request p having a low priority. In this case, the priority of requests r to t, which are held by the buffers 202 to 204, is medium. Hence, the arbiter 210 outputs the requests r to t to the memory 220, then outputs the request p to the memory 220, and subsequently outputs the request q to the memory 220. Accordingly, even though the request q has a higher priority than the requests r to t, the output of the request q to the memory 220 is delayed. Further, as long as the request, of which the priority is medium, is newly held and remains in the buffers 202 to 204, the request q, of which the priority is high, is not output to the memory 220.